home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / inet / internet-drafts / draft-ietf-pip-ipit-transition-00.txt < prev    next >
Text File  |  1993-07-08  |  40KB  |  983 lines

  1.  
  2.  
  3.  
  4. Pip Working Group                                             P. Francis
  5. INTERNET-DRAFT                                       (formerly Tsuchiya)
  6.                                                                 Bellcore
  7.                                                                July 1993
  8.  
  9.  
  10.                 IP Independent Transition (IPIT) for Pip
  11.  
  12.  
  13. Status of this Memo
  14.  
  15.    This document is an Internet Draft.  Internet Drafts are working
  16.    documents of the Internet Engineering Task Force (IETF), its Areas,
  17.    and its Working Groups. Note that other groups may also distribute
  18.    working documents as Internet Drafts).
  19.  
  20.    Internet Drafts are draft documents valid for a maximum of six
  21.    months. Internet Drafts may be updated, replaced, or obsoleted by
  22.    other documents at any time.  It is not appropriate to use Internet
  23.    Drafts as reference material or to cite them other than as a "working
  24.    draft" or "work in progress."
  25.  
  26.    Please check the I-D abstract listing contained in each Internet
  27.    Draft directory to learn the current status of this or any other
  28.    Internet Draft.
  29.  
  30.  
  31. Abstract
  32.  
  33.    This document outlines a transition scheme for moving from IP to Pip.
  34.    While this document discusses Pip in particular, it could be applied
  35.    to any IPng.  The transition scheme discussed here is called IPIT,
  36.    for IP Independent Transition.  It has been developed to address
  37.    problems with the IPAE transition scheme, after which the previous
  38.    Pip transition scheme was based.
  39.  
  40.    The shortcomings of IPAE stem from its reliance on IP addresses dur-
  41.    ing the first phases of transition.  The result is that IP-only hosts
  42.    will not be able to talk globally to IPng hosts after IP addresses
  43.    have depleted (they will only be able to talk intra-domain).  IPIT
  44.    allows new Pip systems to talk to IP systems without a globally
  45.    unique IP address.  As a result, IP address depletion is less likely
  46.    with IPIT, and IP-only hosts will be able to talk to Pip hosts for-
  47.    ever.  In this sense, IPIT is as much a co-existence scheme as it is
  48.    a transition scheme.
  49.  
  50.  
  51.  
  52. Pip WG, Expires February 1, 1994                                [Page 1]
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59. INTERNET-DRAFT               Pip Transition                    July 1993
  60.  
  61.  
  62. 1.  Problems with IPAE
  63.  
  64.    I have increasing concerns about IPAE-style transition.  There are
  65.    some aspects of it that are bad for Pip in particular, but I also
  66.    have a general concern.  That is, for ubiquitous global packet
  67.    exchange, the transition requires that the large majority of systems
  68.    are IPng systems at the point in time when IP addresses are no longer
  69.    unique.  When IP addresses are no longer unique, then IPng systems,
  70.    at least for the purpose of inter-domain communications, are config-
  71.    ured without globally unique IP addresses.  Without a globally unique
  72.    IP address, an IPng system cannot talk to an IP-only systems in other
  73.    domains, because the IP-only system has no way to uniquely identify
  74.    the IP-only system [1].
  75.  
  76.    If there are very few IP-only systems by the time IP addresses are no
  77.    longer unique, then the problem is not so bad.  I am concerned, how-
  78.    ever, that it will take the community a very long time to really
  79.    install IPng.  Even with address depletion as a motivating factor
  80.    towards IPng, it may be that users will choose to do NAT or address
  81.    reuse rather than install IPng.
  82.  
  83.    I am also concerned that the need for IP address assignments in new
  84.    systems will do nothing to slow the depletion of IP addresses.
  85.  
  86.    IPAE-style transition additionally has some bad ramifications for Pip
  87.    specifically.  Having to assign IP addresses to Pip hosts constrains
  88.    them in several ways.  First, the auto-address configuration feature
  89.    of Pip is less advantageous if an IP address must be manually
  90.    assigned to the host.  Plug-and-play operation is lost.
  91.  
  92.    Second, the IPAE scheme implies that packets from an IP host to a Pip
  93.    host are routed via IP until they happen to reach a Pip router.  When
  94.    the infrastructure is still primarily IP (with a Pip overlay), this
  95.    will mean that IP packets from IP hosts will travel as IP for most of
  96.    the path, and are therefore subject to the same limitations as IP.
  97.  
  98.    This manifests itself as limiting mobility and limiting provider
  99.    selection.  In our Columbus demo, we realized that we could only
  100.    achieve one-direction provider selection with IPAE, because the
  101.    return packets would take the IP path regardless of the path taken by
  102.    the forward (Pip) packet.  When considering demo'ing mobility for the
  103.    Amsterdam demo, we discovered that the movement from one LAN to
  104.    another would require a new IP address, and therefore a new Pip ID.
  105.    Thus, mobility in Pip over the near term is only as good as mobility
  106.    with IP, which is not very good.
  107.  
  108.  
  109.  
  110. Pip WG, Expires February 1, 1994                                [Page 2]
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117. INTERNET-DRAFT               Pip Transition                    July 1993
  118.  
  119.  
  120.    So, for all of the above reasons, I am beginning to favor a transi-
  121.    tion scheme that does not require an IP address in the Pip header.  I
  122.    call the scheme IP Independent Transition, or IPIT.  IPIT is more
  123.    complex algorithmically than IPAE, but I think it is not overly com-
  124.    plex.  In any event, IPIT has the advantage of immediately freeing
  125.    Pip from the constraints and limitations of IP.
  126.  
  127.  
  128.  
  129. 2.  Description of IPIT
  130.  
  131.    IPIT has the following characteristics:
  132.  
  133.    1.   Pip hosts do not need IP addresses embedded in them.  (By-and-
  134.         large this document assumes that Pip is the IPng being transi-
  135.         tioned to.  However, IPIT can be applied to any IPng transition
  136.         scheme.)
  137.  
  138.    2.   Unlike IPAE, IPIT potentially allows IP hosts to remain IP for-
  139.         ever, without losing the ability to communicate directly with
  140.         all other hosts, either IP or IPng.  I say potentially because
  141.         this is only possible as long as the number of IP-only hosts is
  142.         small enough that IP address depletion doesn't occur.  Since
  143.         IPng hosts don't require IP addresses, however, this happen-
  144.         stance is a distinct possibility.  In this sense, IPIT is as
  145.         much a co-existence scheme as it is a transition scheme.
  146.  
  147.    3.   In general, packet translation takes place as close to the IP
  148.         host as possible, but at distinct locations, usually a router on
  149.         the subnet of the host or a router at the border of the host's
  150.         routing domain.  (Putting them in these distinct locations sim-
  151.         plifies discovery of translating routers.) The exceptions to
  152.         this are for intra-domain traffic, where translation can take
  153.         place at the Pip host (meaning that IP packets come from the Pip
  154.         host), or, in the case of a packet between two IP hosts without
  155.         an IP path between them, at whatever Pip routers are closest to
  156.         the hosts.  Pip/IP translating routers are called XRs.
  157.  
  158.    4.   If communications is between two IP hosts, and there is an IP
  159.         infrastructure between them, then the packet remains IP
  160.         throughout (is not translated to Pip).
  161.  
  162.    5.   XRs maintain a pool of IP addresses.  (Before you get all
  163.         excited, note that this is *not* a NAT scheme, or, at least,
  164.         does not have any of the ugly characteristics of what has become
  165.  
  166.  
  167.  
  168. Pip WG, Expires February 1, 1994                                [Page 3]
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175. INTERNET-DRAFT               Pip Transition                    July 1993
  176.  
  177.  
  178.         known as NAT schemes [1].) In particular, no modification of
  179.         checksums are necessary, and the location and choice of XRs are
  180.         such that the pool of addresses is large enough to not require
  181.         frequent re-assignment.
  182.  
  183.         IP addresses from the pool are mapped to Pip hosts.  XRs
  184.         translate from IP to Pip by indexing the translation table with
  185.         the destination IP address (which has been assigned from the
  186.         pool).  XRs translate from Pip to IP by indexing the translation
  187.         table with the source Pip ID.
  188.  
  189.    6.   Pip hosts are aware of the pool IP address assigned to them, and
  190.         use it to calculate the TCP pseudo-header checksum.  Thus, the
  191.         translation at the XR is efficient (on the order of the cost of
  192.         the IPAE translation).
  193.  
  194.    7.   Except for the case of inter-domain packet exchange between two
  195.         IP hosts across a Pip infra-structure, the assignment of pool IP
  196.         addresses are made before any internet data packets are
  197.         transmitted.  The assignments are made during DNS lookup.  Thus,
  198.         translating routers generally do not need to make queries them-
  199.         selves.
  200.  
  201.  
  202.  
  203. 2.1.  Managing Pools of IP Addresses
  204.  
  205.    One concern with the use of pools of IP addresses assigned to Pip
  206.    hosts is that the dynamics of assignment will result in incorrect
  207.    translations--that is, IP hosts will remember an assignment after it
  208.    has been reassigned, and try to use it.  Another concern is that the
  209.    pools will have to be large (to satisfy the first concern), and thus
  210.    IP address exhaustion will be exacerbated.  These concerns are
  211.    addressed here.
  212.  
  213.    As mentioned above, translation generally takes place 1) at the sub-
  214.    net of the IP host, 2) at the border of the IP domain, and 3) at the
  215.    border of or within the Pip domain.
  216.  
  217.    If translation takes place at the border of the Pip domain, then it
  218.    means that the backbone infrastructure is still capable of routing
  219.    IP. The destination IP address, which comes from the XR's pool, will
  220.    route the packet over the backbone infrastructure to the XR.  This IP
  221.    address must therefore be globally unique.
  222.  
  223.  
  224.  
  225.  
  226. Pip WG, Expires February 1, 1994                                [Page 4]
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233. INTERNET-DRAFT               Pip Transition                    July 1993
  234.  
  235.  
  236.    In this case, the XR only needs to maintain translations for the Pip
  237.    hosts in the Pip domain.  Thus, at most, the pool need be only as
  238.    large as the number of Pip hosts in that domain.  With IPAE, the Pip
  239.    hosts would need an IP address anyway, so stocking the XR with one IP
  240.    address for every Pip hosts uses no more IP addresses than IPAE.
  241.    Furthermore, the IP addresses in the pool can be assigned flat (no
  242.    subnetting).  So, in fact, the number of IP addresses needed, even if
  243.    there is one for every Pip host, is smaller than with IPAE.
  244.  
  245.    In addition, it is probably reasonable in many if not most cases for
  246.    the number of IP addresses in the pool to be smaller than the number
  247.    of Pip hosts, as usually most hosts in a private network do not
  248.    directly exchange packets with hosts outside the domain.  Thus, in
  249.    most cases, fewer IP addresses than there are Pip hosts will be
  250.    required.
  251.  
  252.    If the XR is at the IP domain's border or at the IP host's subnet,
  253.    then the packet will cross the backbone infrastructure as a Pip
  254.    packet.  Intra-domain IP routing will route the packet to the XR.
  255.    Since the IP packet never reaches the backbone infrastructure, the
  256.    destination IP address (from the XR's pool) need not be globally
  257.    unique.  Therefore, the pool of IP addresses can come from a reused
  258.    class A network number.  The XR therefore has a pool of over
  259.    16,000,000 IP addresses from which to make assignments.  These could
  260.    be subdivided across individual XR's in the IP domain, or each XR in
  261.    the IP domain could have the full class A, for use on it's attached
  262.    subnets.
  263.  
  264.    At the same time, the number of Pip hosts for which assignments
  265.    potentially have to be made is large--all Pip hosts.  But, with such
  266.    a large pool, an old assignment could be stale for a long time before
  267.    it is flushed.  (In this case, the memory needed to hold the assign-
  268.    ments, not the number of assignments available, becomes the
  269.    bottleneck.)
  270.  
  271.    To reiterate, early in transition, when the backbone is still IP,
  272.    there will be a relatively small number of Pip hosts, and therefore a
  273.    relatively small number of IP addresses required for XR pools.  Later
  274.    in transition, when the backbone is Pip (though there may still be
  275.    millions of IP hosts), translation will take place at IP-domain bord-
  276.    ers or within the IP domain, and XR pool addresses can come from a
  277.    reused Class A network number.
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284. Pip WG, Expires February 1, 1994                                [Page 5]
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291. INTERNET-DRAFT               Pip Transition                    July 1993
  292.  
  293.  
  294. 2.2.  Phases of Transition
  295.  
  296.    There is only one major "phase" in the IPIT transition scheme.  That
  297.    is the point at which IP forwarding is disabled in the provider net-
  298.    works.  Up until that point, IPIT transition takes place piece-meal.
  299.  
  300.    For IP forwarding to be disabled in provider networks, all domains
  301.    must have an XR at the border.  By definition, if all provider net-
  302.    works are able to forward Pip packets, then all domains have an XR at
  303.    the border--the provider's Pip router is that XR.  Thus, once all
  304.    providers move over to Pip, IP can be turned off in the backbones.
  305.  
  306.    There is one clear benefit that results from reaching this phase in
  307.    the transition.  That is, XRs no longer need to have globally unique
  308.    IP addresses in their pools.  As discussed above, an XR pool IP
  309.    address need only be globally unique when the translation is taking
  310.    place at the XR bordering the Pip system.  Once all IP domains have
  311.    XRs, there is no longer a need for these globally unique IP
  312.    addresses.  Therefore, all remaining IP addresses can be devoted to
  313.    true IP hosts.
  314.  
  315.    This means that, if at some point we are in danger of IP address
  316.    depletion, a program of Pip (or some IPng) installation in backbones
  317.    (or, at least, XR installation at all borders) can be undertaken.
  318.    While it would be unfortunate to have to "artificially" mandate the
  319.    installation of any given protocol "before its time", it at least
  320.    seems feasible to mandate such a thing in provider networks, which
  321.    represents a small minority of systems globally, and have adequate
  322.    knowhow for such an installation.
  323.  
  324.    Of course, even if this phase of installation is reached, it is pos-
  325.    sible for address depletion to occur--if too many hosts are installed
  326.    as IP only.  In this case, an IP address re-use must be used.  This
  327.    means either that some IP systems will not be able to communicate
  328.    globally (only internally), or that a NAT scheme must be employed.
  329.  
  330.    Other than the potential need for pushing providers towards Pip, all
  331.    other installation of Pip can happen naturally.  The following para-
  332.    graphs discuss the requirements for installing Pip systems.
  333.  
  334.    In theory, it is possible to install any Pip host any time anywhere
  335.    in the internet.  In practice, however, it is useful to have some
  336.    amount of Pip infrastructure in place to simplify installation of Pip
  337.    hosts.
  338.  
  339.  
  340.  
  341.  
  342. Pip WG, Expires February 1, 1994                                [Page 6]
  343.  
  344.  
  345.  
  346.  
  347.  
  348.  
  349. INTERNET-DRAFT               Pip Transition                    July 1993
  350.  
  351.  
  352. 2.3.  Translation in More Detail
  353.  
  354.    Assume that XR has a Pip ID = XPID and a Pip address = XPA.  Assume
  355.    that the XR has assigned an IP address XIP from its pool to a Pip
  356.    host with ID = HPID, and Pip address = HPA.  One or more IP hosts may
  357.    be exchanging packets with the Pip host using XIP.  Assume that the
  358.    IP addresses of the IP hosts that are exchanging packets are IP1,
  359.    IP2, and so on.  The XR has a translation table that maps XIP into
  360.    HPID/HPA and maps HPID into XIP.
  361.  
  362.    When a packet arrives at XR from IP host with address IP1, the source
  363.    IP address (sa) is IP1 and the destination IP address (da) is XIP
  364.    (sa=IP1, da=XIP).
  365.  
  366.    XR indexes the translation table with XIP and retrieves HPID and HPA
  367.    Using this information, it translates this into a Pip packet with a
  368.    source Pip ID (spid) that contains the IP hosts address IP1, the des-
  369.    tination Pip ID (dpid) of the Pip host HPID, the source Pip address
  370.    (spa) of itself XPA, and the destination Pip Address (dpa) of the Pip
  371.    host HPA (spid = IP1, dpid = HPID, spa = XPA, dpa = HPA).
  372.  
  373.    Thus, the translation is
  374.  
  375.    <sa=IP1, da=XIP>  -X->  <spid=IP1, dpid=HPID, spa=XPA, dpa=HPA>
  376.  
  377.    where the symbol -X-> means translation.
  378.  
  379.    Note that the IP host's address IP1 never entered into the lookup
  380.    process.  It was just copied from the source IP address into the
  381.    source Pip ID.  Thus, a packet from IP2 to the same Pip host would
  382.    use the same translation table entry:
  383.  
  384.    <sa=IP2, da=XIP>  -X->  <spid=IP2, dpid=HPID, spa=XPA, dpa=HPA>
  385.  
  386.    When a packet from the Pip host back to IP1 is received at XR, it
  387.    uses the Pip host's Pip ID HPID to index the translation table and
  388.    retrieve XIP.  Thus, the reverse translation is:
  389.  
  390.    <spid=IP1, dpid=HPID, spa=XPA, dpa=HPA>  -X->  <sa=IP1, da=XIP>
  391.  
  392.    Note that even though the Pip host does not transmit XIP in its
  393.    packet, it knows that XIP is the pool IP address assigned to it, and
  394.    uses XIP (and IP1) to calculate the TCP pseudo-header checksum.
  395.  
  396.  
  397.  
  398.  
  399.  
  400. Pip WG, Expires February 1, 1994                                [Page 7]
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407. INTERNET-DRAFT               Pip Transition                    July 1993
  408.  
  409.  
  410. 2.4.  Creating the Assignment
  411.  
  412.    In this section, we discuss how the assignment XIP<->HPID is made and
  413.    communicated to the Pip host.  We also discuss how the translating
  414.    router XR is discovered.
  415.  
  416.    We are interested in the following cases:
  417.  
  418.        Initiating Responding
  419.        Host (IH)  Host (RH)   Scope                   IH DNS   RH DNS
  420.        ---------- ---------   -----                   ------   ------
  421.    1.  IP-only    Pip         Inter-domain            IP-only  Pip
  422.    2.  Pip        IP-only     Inter-domain            Pip      IP-only
  423.    3.  IP-only    Pip         Inter or Intra-domain   Pip      Pip
  424.    4.  Pip        IP-only     Inter or Intra-domain   Pip      Pip
  425.    5.  IP-only    IP-only     Inter-domain            N/A      N/A
  426.    6.  IP-only    IP-only     Intra-domain            N/A      N/A
  427.  
  428.  
  429.    By initiating host, we mean the host that initiates the exchange of
  430.    packets (that is, first contacts DNS and sends the first IP/Pip
  431.    packet).  Note that cases 5 and 6 imply two IP hosts communicating
  432.    across a Pip backbone infrastructure.
  433.  
  434.    We assume that any domain with a Pip host has updated DNS.  Any
  435.    domain with no Pip hosts may or may not have an updated DNS.  If it
  436.    does, then we assume that it also has a translating router (XR) at
  437.    its border.  Note that therefore Cases 1 and 2 don't apply to the
  438.    intra-domain case (where DNS must be Pip if any host is Pip).
  439.  
  440.    Note that in all cases but 5, the Pip DNS systems discover XRs, thus
  441.    offloading the burden of XR discovery from XRs.  Only case 5 requires
  442.    that an XR does an inverse DNS lookup to discover an XR.  (Compared
  443.    with IPAE, where every new packet exchange from IP to IPng requires
  444.    such a lookup by the XR.)
  445.  
  446.    Below we discuss each case.
  447.  
  448.  
  449.  
  450. 2.4.1.  Case 1.
  451.  
  452.    Here, an IP host is initiating and a Pip host is responding.  Only
  453.    the Pip host has Pip DNS.
  454.  
  455.  
  456.  
  457.  
  458. Pip WG, Expires February 1, 1994                                [Page 8]
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465. INTERNET-DRAFT               Pip Transition                    July 1993
  466.  
  467.  
  468.    a.   The initiating IP host I-IP-H queries its local DNS server I-
  469.         IP-DNS.
  470.  
  471.    b.   I-IP-DNS queries the Pip host's DNS server R-Pip-DNS (assuming
  472.         that I-IP-DNS is not also the DNS server for the responding host
  473.         R-Pip-DNS).  Based on the nature of the query, R-Pip-DNS knows
  474.         the initiating host I-IP-H to be IP-only [3].
  475.  
  476.    c.   Null step here to sync with the next section.  Please ignore.
  477.  
  478.    d.   The R-Pip-DNS server must determine the translating router XR
  479.         for this exchange.  At this point, R-Pip-DNS knows that I-IP-H's
  480.         domain has no XR's internally (or else it would have a Pip DNS),
  481.         but it doesn't know if there is an XR at the border of I-IP-H's
  482.         domain or not.  R-Pip-DNS does not know the name or IP address
  483.         of I-IP-H.  It only knows the IP address of I-IP-H's DNS server
  484.         I-IP-DNS.  Using the IP address of I-IP-DNS as the inverse
  485.         domain name, R-Pip-DNS makes an inverse query to the set of sys-
  486.         tems that have been established to handle these inverse queries.
  487.  
  488.    e.   If there are one or more XRs at the border of I-IP-H's private
  489.         domain, then the inverse query returns the Pip ID and Pip
  490.         addresses of the XRs.  If there isn't an XR at the border of I-
  491.         IP-H's private domain, then the inverse query returns null.
  492.  
  493.    f.   If the previous step returned null, then an XR bordering the Pip
  494.         host's private domain (or inside the Pip host's private domain,
  495.         if none have been installed at the border) is selected as the XR
  496.         for this exchange.  If there are multiple XRs at the local
  497.         border, R-Pip-DNS chooses among them to be the XR for the
  498.         exchange.  This choice may be based on knowledge of the host's
  499.         or domain's policies, or may be a pre-set preference, or may be
  500.         random.  (These XRs are known through static configuration of
  501.         R-Pip-DNS.) If the inverse query did not return null, then one
  502.         of the XRs returned in the inverse query are selected.
  503.  
  504.    g.   The R-Pip-DNS now queries the XR for an assignment of a Pool
  505.         address XPA to the Pip host R-Pip-H.  (Note that if the XR is
  506.         local to the Pip host's domain, this assignment may very well
  507.         have already been made.  Never-the-less, the query is made.) The
  508.         query contains the Pip ID of R-Pip-H, plus other information
  509.         from DNS such as the Pip addresses, mobile host server, and so
  510.         on [3].
  511.  
  512.    h.   The XR makes the assignment XPA, and returns it to R-Pip-DNS.
  513.  
  514.  
  515.  
  516. Pip WG, Expires February 1, 1994                                [Page 9]
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523. INTERNET-DRAFT               Pip Transition                    July 1993
  524.  
  525.  
  526.    i.   R-Pip-DNS returns assigned IP address XPA to I-IP-DNS, which in
  527.         turn returns it to the IP host I-IP-H.  (The Time-to-Live in the
  528.         response should be quite low, perhaps even 0.)
  529.  
  530.    j.   The I-IP-H sends an IP packet with it's IP address IPA as the
  531.         source address, and XPA as the destination address.
  532.  
  533.    k.   XR receives this packets, looks up the assignment using XPA,
  534.         retrieves the information about R-Pip-H, and creates a Pip
  535.         header to send to R-Pip-H.  The source Pip ID of the header con-
  536.         tains IPA (in an Pip ID format that indicates that the host is
  537.         an IP-only host).  The destination Pip ID is R-Pip-H's Pip ID.
  538.         The destination Pip address is R-Pip-H's Pip address.  The
  539.         source Pip address is that of XR.  Finally, there is an option
  540.         added that contains XPA.  This is necessary for the Pip host to
  541.         be able to compute the pseudo-header checksum.
  542.  
  543.  
  544.  
  545.  
  546. 2.4.2.  Case 2.
  547.  
  548.    Here, a Pip host is initiating and an IP host is responding.  Only
  549.    the Pip host has Pip DNS.
  550.  
  551.  
  552.    a.   The initiating Pip host I-Pip-H queries its local DNS server I-
  553.         Pip-DNS.
  554.  
  555.    b.   I-Pip-DNS queries the IP host's DNS server R-IP-DNS.  (It may
  556.         have been necessary for I-Pip-DNS to first determine that R-IP-
  557.         DNS is in fact an IP-only DNS server.  This is part of DNS tran-
  558.         sition [3].)
  559.  
  560.    c.   I-Pip-DNS receives the IP address IPA of the IP host R-IP-H in
  561.         the answer.
  562.  
  563.    d.   I-Pip-DNS must determine the translating router XR for this
  564.         exchange.  Using IPA as the inverse domain name, I-Pip-DNS makes
  565.         an inverse query to the set of systems that have been esta-
  566.         blished to handle these inverse queries.
  567.  
  568.    e-f. These steps are the same in the previous section (but with I and
  569.         R reversed).
  570.  
  571.  
  572.  
  573.  
  574. Pip WG, Expires February 1, 1994                               [Page 10]
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581. INTERNET-DRAFT               Pip Transition                    July 1993
  582.  
  583.  
  584.    g.   I-Pip-DNS returns the information about the XRs, along with R-
  585.         IP-H's IP address IPA, to I-Pip-H.
  586.  
  587.    h.   I-Pip-H determines which of the XRs is appropriate for this
  588.         packet exchange (see [4] for a description of how this is done).
  589.  
  590.    i.   I-Pip-H now queries the selected XR for an assignment of a Pool
  591.         address XPA for itself.
  592.  
  593.    j.   The XR makes the assignment XPA, and returns it to I-Pip-H.
  594.  
  595.    k.   I-Pip-H sends a Pip packet with a destination Pip ID containing
  596.         IPA (in an Pip ID format that indicates that the host is an IP-
  597.         only host).  The source Pip ID is that of I-Pip-H.  The destina-
  598.         tion Pip address is that of XR.  The source Pip address is that
  599.         of I-Pip-H.  The pseudo-header checksum is calculated using IPA
  600.         and XPA.
  601.  
  602.    l.   XR receives this packets, looks up the assignment using the Pip
  603.         host's Pip ID, retrieves the information about R-IP-H, and
  604.         creates a Pip header to send to R-IP-H.  The source IP address
  605.         is XPA, and the destination IP address is IPA.
  606.  
  607.  
  608.  
  609. 2.4.3.  Case 3.
  610.  
  611.    Here, an IP host is initiating and a Pip host is responding.  Both of
  612.    the host's domains have Pip DNS.
  613.  
  614.  
  615.    a.   The initiating IP host I-IP-H queries its local DNS server I-
  616.         Pip-DNS.
  617.  
  618.    b.   I-Pip-DNS queries R-Pip-H's server R-Pip-DNS.  Because of the
  619.         nature of the query, R-Pip-DNS knows that I-Pip-DNS is a Pip
  620.         capable DNS machine, and that either 1) I-IP-H is in the same
  621.         domain as R-Pip-H, or 2) I-IP-H is in another domain, and it's
  622.         domain has an XR (either at its border or internally).
  623.  
  624.    c.   R-Pip-DNS returns the Pip information (Pip ID, Pip addresses,
  625.         etc.) of R-Pip-H to I-Pip-DNS.
  626.  
  627.    d.   I-Pip-DNS determines if R-Pip-H is intra- or inter-domain by
  628.         comparing R-Pip-H's Pip address against a local table indicating
  629.  
  630.  
  631.  
  632. Pip WG, Expires February 1, 1994                               [Page 11]
  633.  
  634.  
  635.  
  636.  
  637.  
  638.  
  639. INTERNET-DRAFT               Pip Transition                    July 1993
  640.  
  641.  
  642.         which Pip address prefixes are intra-domain.  This table must be
  643.         maintained by hand (though the consequence of not maintaining it
  644.         properly is a non-optimal path rather than failure to communi-
  645.         cate).
  646.  
  647.    e.   I-Pip-DNS knows that the order of preference for choosing the XR
  648.         is 1) choose one on I-IP-H's subnet, 2) choose the XR at I-IP-
  649.         H's domain's border (only if inter-domain), 3) choose the XR on
  650.         R-Pip-H's subnet (only if intra-domain), and 4) let R-Pip-H be
  651.         the XR (that is, R-Pip-H transmits and receives IP packets,
  652.         again, only for intra-domain).  (Note that if option 4 happens,
  653.         the Pip host loses the ability to be mobile.)
  654.  
  655.    f.   I-Pip-DNS must therefore first determine if there is an XR on
  656.         the subnet of the IP host or not.  To do this, I-Pip-DNS looks
  657.         in its local database, which has a listing of all IP subnets
  658.         with Pip routers on them.  If an entry exists for I-IP-H's sub-
  659.         net, then the XR on that subnet is chosen (choice 1 in step e).
  660.         If not, but the communications is inter-domain, then the border
  661.         XR of I-IP-H's domain is used (choice 2 of step e).  If the com-
  662.         munications is intra-domain, I-Pip-DNS determines if there is an
  663.         XR attached to R-Pip-H's subnet.  This is done using the same
  664.         table accessed earlier in this step (except with the Pip Address
  665.         as the index instead of the IP address).  (Except for very early
  666.         in transition, there will usually be an XR on R-Pip-H's subnet.)
  667.         If there isn't, then R-Pip-H must be the XR for itself.  (This
  668.         will be the case where there is only a single host, or a small
  669.         number of hosts, and no router, on a given subnet.  It means
  670.         that the first Pip system installed on a subnet must be given a
  671.         pool of IP addresses.)
  672.  
  673.    g.   I-Pip-DNS now queries the XR for an assignment of a Pool address
  674.         XPA to the Pip host R-Pip-H.
  675.  
  676.    h.   The XR makes the assignment, and returns it to I-Pip-DNS.
  677.  
  678.    i.   I-Pip-DNS returns assigned IP address XPA to the IP host I-IP-H.
  679.  
  680.    j-k. These steps are the same as for Case 1.
  681.  
  682.  
  683.  
  684. 2.4.4.  Case 4.
  685.  
  686.    Here, a Pip host is initiating and an IP host is responding.  Both
  687.  
  688.  
  689.  
  690. Pip WG, Expires February 1, 1994                               [Page 12]
  691.  
  692.  
  693.  
  694.  
  695.  
  696.  
  697. INTERNET-DRAFT               Pip Transition                    July 1993
  698.  
  699.  
  700.    hosts' domains have Pip DNS.
  701.  
  702.  
  703.    a.   The initiating Pip host I-Pip-H queries its local DNS server I-
  704.         Pip-DNS.
  705.  
  706.    b.   I-Pip-DNS queries the IP host's DNS server R-Pip-DNS.
  707.  
  708.    c.   R-Pip-DNS determines if I-Pip-H is intra- or inter-domain.  To
  709.         do this, R-Pip-DNS indexes the table discussed in step d of Case
  710.         3, using the Pip address or IP address (whatever is known) of
  711.         I-Pip-DNS.  (The assumption here is that I-IP-H is in the same
  712.         domain as I-Pip-DNS.)
  713.  
  714.    d.   At this point, R-Pip-DNS must determine which XR should handle
  715.         this communications.  This is done in the same way as done by
  716.         I-Pip-DNS in step f of Case 3.
  717.  
  718.    e.   Having determined the appropriate XRs, R-Pip-DNS returns infor-
  719.         mation about the XRs and the IP address of the IP host R-IP-H to
  720.         I-Pip-DNS, which forwards it on to I-Pip-H.
  721.  
  722.    f.   (Null step here to sync with Case 2.  Please ignore.)
  723.  
  724.    h-l. These steps are the same as for Case 2.
  725.  
  726.  
  727.  
  728. 2.4.5.  Case 5.
  729.  
  730.    Here, an IP host is initiating and an IP host is responding.  The two
  731.    IP hosts are in different domains.  It is irrelevant if DNS is Pip or
  732.    IP.
  733.  
  734.  
  735.    a.   The initiating IP host I-IP-H queries its local DNS server I-
  736.         DNS.
  737.  
  738.    b.   I-DNS queries the responding IP host's DNS server R-DNS,
  739.         receives the IP address of the responding IP host R-IP-H, and
  740.         returns it to I-IP-H.  (Note that IP addresses must be globally
  741.         unique for this to work.  At the point where IP addresses are
  742.         not globally unique, interdomain communications between IP-only
  743.         hosts might not be possible.)
  744.  
  745.  
  746.  
  747.  
  748. Pip WG, Expires February 1, 1994                               [Page 13]
  749.  
  750.  
  751.  
  752.  
  753.  
  754.  
  755. INTERNET-DRAFT               Pip Transition                    July 1993
  756.  
  757.  
  758.    c.   I-IP-H transmits a packet with its IP address as the source
  759.         address, and R-IP-H's IP address as the destination address.
  760.  
  761.    d.   This packet reaches a translating router I-XR, either at the
  762.         border of I-IP-H's domain if inter-domain, or within the domain,
  763.         probably at I-IP-H's subnet router, otherwise.  (If the infras-
  764.         tructure is IP, then the packet won't reach a translating router
  765.         and will be sent IP end to end.)
  766.  
  767.    e.   I-XR first determines if the packet is intra- or inter-domain.
  768.         Within a domain, each Pip router knows the mapping between each
  769.         Pip subnet address prefix and its corresponding IP subnet
  770.         number.  This information is carried by the intra-domain routing
  771.         protocol.  I-XR indexes the database carrying this information.
  772.         For this case, we assume inter-domain.
  773.  
  774.    f.   Because it is interdomain, I-XR must determine the Pip address
  775.         of the translating router R-XR, either at the border of R-IP-H's
  776.         domain, or on R-IP-H's subnet.  This is done using the same
  777.         inverse query that was used for Cases 1 and 2, only here I-XR
  778.         initiates the query instead of <I or R>-Pip-DNS.  Using the IP
  779.         address of I-IP-H as the inverse domain name, I-XR makes an
  780.         inverse query to the set of systems that have been established
  781.         to handle these inverse queries.
  782.  
  783.    g.   The inverse query returns the Pip ID and Pip addresses of R-XR
  784.         (for this case, there must be an XR at the border or within R-
  785.         IP-H's private domain).  I-XR creates a data base entry relating
  786.         the IP address of R-IP-H with the Pip information for R-XR.
  787.         This is used to translate this and subsequent packets from I-
  788.         IP-H into Pip packets.
  789.  
  790.    h.   I-XR translates the IP packet into a Pip packet destined for R-
  791.         XR.  The source Pip ID of the header contains the IP address of
  792.         I-IP-H (in an Pip ID format that indicates that the host is an
  793.         IP-only host).  The destination Pip ID contains the IP address
  794.         of R-IP-H.  The destination Pip address is R-XR's Pip address.
  795.         The source Pip address is that of I-XR.
  796.  
  797.    i.   When R-XR receives this packet, it creates a data base entry
  798.         relating the IP address of I-IP-H (taken from the source Pip ID)
  799.         with the Pip address of I-XR.  This entry is used to translate
  800.         IP packets from R-IP-H.  Note that subsequent packets from I-
  801.         IP-H and R-IP-H may go through different XRs (if there are more
  802.         than one at the border).  In this case, the XRs receiving the
  803.  
  804.  
  805.  
  806. Pip WG, Expires February 1, 1994                               [Page 14]
  807.  
  808.  
  809.  
  810.  
  811.  
  812.  
  813. INTERNET-DRAFT               Pip Transition                    July 1993
  814.  
  815.  
  816.         packets make inverse queries as described above.
  817.  
  818.  
  819.  
  820. 2.4.6.  Case 6.
  821.  
  822.    Here, an IP host is initiating and an IP host is responding.  The two
  823.    IP hosts are in the same domain.  It is irrelevant if DNS is Pip or
  824.    IP.
  825.  
  826.  
  827.    a-e. These steps are the same as for Case 5, except with the outcome
  828.         that the two IP hosts are determined to be intra-domain.
  829.  
  830.    f.   Because it is intra-domain, I-XR does not need to determine the
  831.         Pip address of the translating router R-XR.  Rather, since it
  832.         knows the mapping between R-IP-H's subnet number and the Pip
  833.         address of R-IP-H's subnet, it can generate a Pip header algo-
  834.         rithmically.  I-XR translates the IP packet into a Pip packet
  835.         destined towards R-XR.  The source Pip ID of the header contains
  836.         the IP address of I-IP-H (in an Pip ID format that indicates
  837.         that the host is an IP-only host).  The destination Pip ID con-
  838.         tains the IP address of R-IP-H.  The destination Pip address is
  839.         the Pip address of the subnet that corresponds to R-IP-H's IP
  840.         subnet address.  The source Pip address is that of I-XR.
  841.  
  842.    g.   This packet will travel towards R-IP-H until it reaches an XR
  843.         that must translate the packet back into IP.  The reverse trans-
  844.         lation is simple.  The source and destination IP addresses are
  845.         copied over from the source and destination Pip IDs.  The
  846.         resulting IP packet is routed towards R-IP-H.
  847.  
  848.    h.   Packets returning from R-IP-H to I-IP-H execute steps f and g.
  849.  
  850.  
  851.  
  852. 2.5.  Inverse Lookup Infrastructure
  853.  
  854.    On several occasions, it is necessary for a DNS system or an XR to do
  855.    an inverse query on IP address searching for an XR for the destina-
  856.    tion IP host.  These queries are handled by a hierarchy of DNS
  857.    servers installed for this purpose.
  858.  
  859.    At the top of the hierarchy are a relatively small set (perhaps 10 or
  860.    so) of root servers.  These root servers will be authoritative for
  861.  
  862.  
  863.  
  864. Pip WG, Expires February 1, 1994                               [Page 15]
  865.  
  866.  
  867.  
  868.  
  869.  
  870.  
  871. INTERNET-DRAFT               Pip Transition                    July 1993
  872.  
  873.  
  874.    private IP domains that have not installed an Pip systems, but that
  875.    have an XR at the border.  By authoritative, we mean that they will
  876.    hold the actual database entries that map IP addr/mask to XR informa-
  877.    tion.  The root servers will contain pointers to lower level servers
  878.    for those private domains that have installed some Pip systems.
  879.    These lower level servers will be authoritative for the XRs in their
  880.    domain.
  881.  
  882.    All servers will be capable of being both authoritative and pointing
  883.    to lower level servers.  In addition, the entries will be keyed by
  884.    maskless IP addr/masks.  Therefore, the number of hierarchy levels of
  885.    inverse query DNS servers is entirely determined by configuration.
  886.    As such, it will be possible in the future to add a layer of hierar-
  887.    chy below the root servers if they prove to be a bottleneck.
  888.  
  889.  
  890.  
  891. 2.6.  Configuration Requirements
  892.  
  893.    Pip transition will start with a "seed" Pip backbone (the Pbone).
  894.    The Pbone will consist of a small number (10 to 20) of Pip routers
  895.    installed around the internet--preferably in places where the most
  896.    policy routing control can be leveraged, for instance, at DMZs.  (DMZ
  897.    meaning so-called De-militarized zone, such as a FIX or a CIX.) There
  898.    will also be a seed system of inverse Pip-DNS lookup systems.  Ini-
  899.    tially, these are likely to be the same machines as the Pbone
  900.    routers.  As the Pbone routers (sparcs) are replaced by "real" Pip
  901.    routers, these systems can be dedicated to the inverse lookup func-
  902.    tion.
  903.  
  904.    When the first host is installed in a private domain, Pip DNS must
  905.    also be installed, and preferably Pip routers should be installed at
  906.    the borders of the domain.  If Pip routers are not installed at the
  907.    borders, then either a Pip router internal to the domain, or a router
  908.    outside the domain, must be used for translation.  Using XRs not at
  909.    the border can weaken or prevent provider selection, and can result
  910.    in non-optimal paths (because the packet must be routed via the XR).
  911.  
  912.    When Pip DNS is installed, it must be configured with the addresses
  913.    (IP or Pip) of higher level inverse DNS lookup servers (along with
  914.    all the other usual DNS configuration information).  It must also be
  915.    configured with IP addr/masks showing which IP address prefixes are
  916.    within its private domain.
  917.  
  918.    When the first Pip system is installed on a subnet, it should act as
  919.  
  920.  
  921.  
  922. Pip WG, Expires February 1, 1994                               [Page 16]
  923.  
  924.  
  925.  
  926.  
  927.  
  928.  
  929. INTERNET-DRAFT               Pip Transition                    July 1993
  930.  
  931.  
  932.    a router, even though it may also be serving as a host.  As a router,
  933.    it must be configured with information about its neighbor routers,
  934.    either those on directly connected subnets or those reachable through
  935.    IP, including the border routers.  (Note that it is possible to
  936.    install a single host on a subnet and configure it with non-attached
  937.    routers over IP.  This will likely be common very early in transi-
  938.    tion, especially during initial experimentation.  Over time, however,
  939.    this should be the exception rather than the rule.)
  940.  
  941.    As the first router on a subnet, it must also be configured with a
  942.    pool of IP addresses to handle Pip hosts on its attached subnets.
  943.    Note that the addresses in the pool are only used for intra-domain
  944.    communications.  (Generally, border XRs handle translation for
  945.    inter-domain packets, though it is possible for an internal Pip
  946.    router to be the XR for inter-domain traffic before a border XR is
  947.    installed.) DNS must also be updated to indicate that a Pip router
  948.    has been installed on the subnet, with the mapping between Pip subnet
  949.    address and IP subnet address.
  950.  
  951.    When an XR is installed at the border, it's neighbor routers must be
  952.    configured.  It must also be configured with two pools of IP
  953.    addresses, one to serve IP hosts in the private domain (this can be a
  954.    re-used class A), and one to serve Pip hosts in the private domain
  955.    (these must be globally unique).  Local Pip DNS, if it exists, must
  956.    be updated to have knowledge of the XR, and to know which IP prefixes
  957.    it serves.  Root DNS inverse-lookup servers must be updated to know
  958.    that the local DNS handles these IP prefixes if local Pip DNS exists,
  959.    or must be configured with direct information about the border XR
  960.    otherwise.
  961.  
  962.  
  963.  
  964. References
  965. [1]  Dave Crocker, Bob Hinden, "IP Address Encapsulation (IPAE):
  966.      A Mechanism for Introducing a New IP", Internet Draft, Nov 1992.
  967. [2]  Kjeld Borch Egevang, Paul Francis, "The IP Network Address
  968.      Translator (NAT)", Internet Draft, May 1993
  969. [3]  Thomson, Francis, "Use of DNS with Pip", Internet-Draft
  970. [4]  Francis, "Pip Host Operation", Internet-Draft
  971.  
  972.  
  973.  
  974.  
  975.  
  976.  
  977.  
  978.  
  979.  
  980. Pip WG, Expires February 1, 1994                               [Page 17]
  981.  
  982.  
  983.